{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Text Data Explanation Benchmarking: Machine Translation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This notebook demonstrates how to use the benchmark utility to benchmark the performance of an explainer for text data. In this demo, we showcase explanation performance for partition explainer on a Machine Translation model. The metrics used to evaluate are \"keep positive\" and \"keep negative\". The masker used is Text Masker. \n", "\n", "The new benchmark utility uses the new API with MaskedModel as wrapper around user-imported model and evaluates masked values of inputs. " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import nlp\n", "from transformers import AutoModelForSeq2SeqLM, AutoTokenizer\n", "\n", "import shap\n", "import shap.benchmark as benchmark" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Load Data and Model" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "tokenizer = AutoTokenizer.from_pretrained(\"Helsinki-NLP/opus-mt-en-es\")\n", "model = AutoModelForSeq2SeqLM.from_pretrained(\"Helsinki-NLP/opus-mt-en-es\")" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Using custom data configuration default\n" ] } ], "source": [ "dataset = nlp.load_dataset(\"xsum\", split=\"train\")" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "s = [dataset[\"summary\"][i] for i in range(10)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Create Explainer Object" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "explainers.Partition is still in an alpha state, so use with caution...\n" ] } ], "source": [ "explainer = shap.Explainer(model, tokenizer)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Run SHAP Explanation" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HBox(children=(FloatProgress(value=0.0, max=48.0), HTML(value='')))" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "\r", "Partition explainer: 10%|███▎ | 1/10 [00:00" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sp = benchmark.perturbation.SequentialPerturbation(explainer.model, explainer.masker, sort_order, perturbation)\n", "xs, ys, auc = sp.model_score(shap_values, s)\n", "sp.plot(xs, ys, auc)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "sort_order = \"negative\"\n", "perturbation = \"keep\"" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HBox(children=(FloatProgress(value=0.0, max=10.0), HTML(value='')))" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sp = benchmark.perturbation.SequentialPerturbation(explainer.model, explainer.masker, sort_order, perturbation)\n", "xs, ys, auc = sp.model_score(shap_values, s)\n", "sp.plot(xs, ys, auc)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.9" } }, "nbformat": 4, "nbformat_minor": 2 }